The registry of main loop task profilers. More...
#include <kanzi/core/profiling/main_loop_task_profiler_registry.hpp>
Public Member Functions | |
MainLoopTaskProfilerRegistry () | |
Constructor. More... | |
void | initialize (optional< size_t > bufferSizeOverride) |
size_t | getMainLoopCounter () const |
To get the value of the main loop counter, use getMainLoopCounter(). More... | |
void | incrementMainLoopCounter () |
Increments the main loop counter. More... | |
Public Member Functions inherited from kanzi::ProfilerRegistry< MainLoopTaskProfiler > | |
void | registerProfiler (ProfilerSharedPtr profiler) |
Adds a new profiler to the registry. More... | |
void | unregisterProfiler (ProfilerSharedPtr profiler) |
Removes a profiler from the registry. More... | |
ProfilerContainer::const_iterator | beginProfilers () const |
Gets iterator to the begging of the profiler container. More... | |
ProfilerContainer::const_iterator | endProfilers () const |
Gets iterator to the end of the profiler container. More... | |
Additional Inherited Members | |
Public Types inherited from kanzi::ProfilerRegistry< MainLoopTaskProfiler > | |
typedef shared_ptr< MainLoopTaskProfiler > | ProfilerSharedPtr |
The profiler shared point type. More... | |
typedef unordered_set< ProfilerSharedPtr > | ProfilerContainer |
The profiler container type. More... | |
Protected Attributes inherited from kanzi::ProfilerRegistry< MainLoopTaskProfiler > | |
ProfilerContainer | m_registeredProfilers |
The registered profilers. More... | |
The registry of main loop task profilers.
|
inlineexplicit |
Constructor.
|
inline |
|
inline |
To get the value of the main loop counter, use getMainLoopCounter().
|
inline |
Increments the main loop counter.
Do not use this function directly. The Kanzi main loop calls it internally.
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_animationProfiler |
Main loop animation profiler.
On every Kanzi main loop iteration, the profiler measures the time spent rendering animation.
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_renderingProfiler |
Main loop rendering profiler.
On every Kanzi main loop iteration, the profiler measures the time spent rendering the screen in Application::renderOverride().
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_applicationEventsProfiler |
Main loop application events profiler.
On every Kanzi main loop iteration, the profiler measures the time spent gathering and handling events from all available event sources, such as keyboard, mouse, and other available manipulators.
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_appUpdateProfiler |
Main loop application update profiler.
On every Kanzi main loop iteration, the profiler measures the time spent inside the user-provided Application::update() override.
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_resourceDeploymentProfiler |
Main loop resource deployment profiler.
On every Kanzi main loop iteration, the profiler measures the time spent processing asynchronous task deployment queue.
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_graphicsEventsProfiler |
Main loop graphics events profiler.
On every Kanzi main loop iteration, the profiler measures the time spent processing events that affect graphics output, such as KZS_EVENT_WINDOW_RESIZED and KZS_EVENT_WINDOW_RESIZE_REQUESTED.
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_inputProfiler |
Main loop input profiler.
On every Kanzi main loop iteration, the profiler measures the time spent by InputManager in processing various input events, including input events from keyboard and mouse.
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_userUpdateProfiler |
The user update profiler.
On every Kanzi main loop iteration, the profiler measures the time spent executing user-provided update logic callback Application::onUpdate().
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_resourceManagerUpdateProfiler |
Main loop resource manager update profiler.
On every Kanzi main loop iteration, the profiler measures the time consumed by the resource manager to process load and deployment queues.
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_taskDispatcherProfiler |
Main loop task dispatcher profiler.
On every Kanzi main loop iteration, the profiler measures the time spent executing tasks added to KzuTaskScheduler.
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_taskSchedulerProfiler |
Main loop task scheduler profiler.
On every Kanzi main loop iteration, the profiler measures the time spent executing periodic tasks added to TaskDispatcher, including animation.
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_layoutProfiler |
Main loop layout profiler.
On every Kanzi main loop iteration, the profiler measures the performance of the layout pass.
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_screenLayoutProfiler |
Main loop screen layout profiler.
On every Kanzi main loop iteration, the profiler measures the performance of the screen layout.
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_screenExtractProfiler |
Main loop screen extract profiler.
On every Kanzi main loop iteration, the profiler measures the performance of the screen extract.
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_hudProfiler |
Main loop HUD profiler.
On every Kanzi main loop iteration, the profiler measures the overhead caused by rendering the HUD information.
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_taskSchedulerInternalProfiler |
Main loop internal task scheduler profiler.
On every Kanzi main loop iteration, the profiler measures the time spent executing periodic tasks added to Scheduler
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_taskExecutionInternalProfiler |
Main loop internal task execution profiler.
On every Kanzi main loop iteration, the profiler measures the time spent executing individual tasks added to Scheduler
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_taskDispatchProfiler |
Main loop task dispatch profiler.
On every Kanzi main loop iteration, the profiler measures the time spent executing an individual task added to KzuTaskScheduler.
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_timerProfiler |
Main loop timer profiler.
On every Kanzi main loop iteration, the profiler measures the time spent executing timer callbacks.
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_presentProfiler |
Main loop present profiler.
On every Kanzi main loop iteration, the profiler measures the time spent presenting graphics output
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_yieldProfiler |
Main loop yield profiler.
On every Kanzi main loop iteration, the profiler measures the time spent yielded
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_suspendProfiler |
Main loop suspend profiler.
On every Kanzi main loop iteration, the profiler measures the time spent suspended
MainLoopTaskProfilerSharedPtr kanzi::MainLoopTaskProfilerRegistry::m_frameProfiler |
Main loop frame profiler.
On every Kanzi main loop iteration, the profiler measures the total time spent per frame